const fs = require('fs')
  // const fd = fs.openSync('./00-浏览器限制.html')
  // console.log(fd);

// 1.简单文件写入
// 同步
// fs.writeFileSync('./c.txt', '我是简单写入的文件')
// fs.writeFile('./c.txt', '我是简单异步写入的文件', () => {
//   console.log('我是简单异步写入的文件');
// })

// 2.同步文件写入
// const fd = fs.openSync('c.txt', 'w')
// fs.writeSync(fd, '我是同步写入的内容')
// fs.closeSync(fd)

// 3.异步文件写入
// fs.open('./c.txt', 'w', function(err, fd) {
//   // console.log(arguments);
//   if (!err) {
//     fs.write(fd, '我是异步写入的内容2', function(err) {
//       if (!err) {
//         console.log('写入成功');
//       }
//     })
//   }
// })

// 流式写入(适用于文件很大的情况)
// 创建一个可读流
const stream1 = fs.createReadStream('../../day01/02-jQuery each 和es5 forEach的区别/test.html')

// 创建一个可写流
const stream2 = fs.createWriteStream('./00-浏览器限制.html')

stream1.once('open', () => {
  console.log('可读流打开了');
})

stream1.once('close', () => {
  console.log('可读流关闭了');
  stream2.close()
})


stream2.once('open', () => {
  console.log('可写流打开了');
})

stream2.once('close', () => {
  console.log('可写流关闭了');
})

// 读取可读流
// stream1.on('data', (data) => {
//   console.log(data.length);
//   stream2.write(data)
// })

// stream1.pipe(stream2)
stream1.on('readable', () => {
  stream1.read()
})